#include "TableauDynamique.h"
#include "Element.h"


void testamentTabDyn(TabDyn *T) 
{
free(T->ad);
T->capacite = 0;
T->tailleU = 0;
}

void initialiserTabDyn(TabDyn *T) 
{
	T->ad = (Element*)malloc(1*sizeof(Element));
	T->capacite = 1;
	T->tailleU = 0;
}

void testamentTabDyn(TabDyn *T) 
{
free(T->ad);
T->capacite = 0;
T->tailleU = 0;
}
void initialiserTabDyn(TabDyn *T) 
{
	T->ad = (Element*)malloc(1*sizeof(Element));
	T->capacite = 1;
	T->tailleU = 0;
}

void ajouteElement(TabDyn * T, Element e)
{
	if(t->tailleU == t->capacite)
	{ 
		int i;
		Element *temp = t->ad;
		t->ad = (Element*)malloc(2*t->capacite*sizeof(Element));
		for( i=0;i< t->capacite;i++)
		{
			t->ad[i]=temp[i];
		}
		t->capacite = 2*t->capacite;
		free(temp);
	}
	t->ad[t->tailleU]=e;
	t->tailleU++;
}


void afficheTabDyn(const TabDyn * T)
{
	int i;
	printf("Le tableau contient %u élément(s) \n", T->tailleU);
	for(i=0; i<T->tailleU; i++)
	{
		fficheElement(T->ad[i]);
	}
}


Element valeurIemeElementTabDyn(const TabDyn * T, unsigned int i)
{
	return T->ad[i];
}

void supprimeDernierElementTabDyn(TabDyn * T)
{
	T->tailleU--;
}

void modifieValeurIemeElementTabDyn(TabDyn * T, Element e, unsigned int i)
{
	T->ad[i]=e;
}

int rechercheElementTabDyn(const TabDyn * T, Element e)
{
	int i;
	for(i=0; i < T->tailleU; i++)
	{
	if (T -> ad[i] = e)
		{
		return i;
		}
	if (T -> ad[i] > e)
		{
		return -1;
		}
	}
return -1;
}
